package principal;

import java.util.List;

public class Triangulo {

	private int vertice1;
	private int vertice2;
	private int vertice3;
	private Ponto baricentro;
	private Vetor normal;
	
	public Triangulo(int vertice1, int vertice2, int vertice3) {
		this.vertice1 = vertice1;
		this.vertice2 = vertice2;
		this.vertice3 = vertice3;
		this.baricentro = new Ponto(0, 0, 0);
		this.normal = new Vetor(0,0,0);
	}
	
	public int getVertice1() {
		return vertice1;
	}
	
	public void setVertice1(int vertice1) {
		this.vertice1 = vertice1;
	}
	
	public int getVertice2() {
		return vertice2;
	}
	
	public void setVertice2(int vertice2) {
		this.vertice2 = vertice2;
	}
	
	public int getVertice3() {
		return vertice3;
	}
	
	public void setVertice3(int vertice3) {
		this.vertice3 = vertice3;
	}
	
	public Ponto getBaricentro() {
		return baricentro;
	}
	
	public void setBaricentro(Ponto baricentro) {
		this.baricentro = baricentro;
	}
	
	public void setNormal(Vetor normal) {
		this.normal = normal;
	}
	
	public Vetor getNormal() {
		return normal;
	}
	
	public void calcularVetorNormal(List<Ponto> pontos){
		
		Ponto v1 = pontos.get(vertice1-1);
		Ponto v2 = pontos.get(vertice2-1);
		Ponto v3 = pontos.get(vertice3-1);
		
		Vetor vet1 = new Vetor(v2.getX() - v1.getX(), v2.getY() - v1.getY(), v2.getZ() - v1.getZ());
		Vetor vet2 = new Vetor(v3.getX() - v1.getX(), v3.getY() - v1.getY(), v3.getZ() - v1.getZ());
		
		this.normal = vet1.produtoVetorial(vet2).normalizar();
	}
	
	public void somarVetorNormalAosVertices(List<Ponto> ps){
		ps.get(vertice1).somarVetorNormal(this.normal);
		ps.get(vertice2).somarVetorNormal(this.normal);
		ps.get(vertice3).somarVetorNormal(this.normal);
	}
}
